.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH EXIWHAT 8 "March 26, 2003"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.\" \(oqthis text is enclosed in single quotes\(cq
.\" \(lqthis text is enclosed in double quotes\(rq
.SH NAME
exiwhat \- Finding out what Exim processes are doing
.SH SYNOPSIS
.B exiwhat

.SH DESCRIPTION
On operating systems that can restart a system call after receiving a
signal (most modern OS), an 
.B Exim
process responds to the SIGUSR1 signal by writing a line describing what
it is doing to the file exim\-process.info in the Exim spool directory.
The
.B exiwhat
script sends the signal to all 
.B Exim
processes it can find, having first emptied the file.
It then waits for one second to allow the
.B Exim
processes to react before displaying the results.
In order to run 
.B exiwhat
successfully you have to have sufficient privilege to send the signal to
the
.B Exim
processes, so it is normally run as root.

Unfortunately, the
.B ps
command which
.B exiwhat
uses to find
.B Exim
processes varies in different operating systems.
Not only are different options used, but the format of the output is
different.
For this reason, there are some system configuration options that configure
exactly how
.B exiwhat
works.
If it doesn't seem to be working for you, check the following compile-time
options:
.TP
.I EXIWHAT_PS_CMD
the command for running \(lqps\(rq
.TP
.I EXIWHAT_PS_ARG
the argument for \(lqps\(rq
.TP 
.I EXIWHAT_EGREP_ARG
the argument for \(lqegrep\(rq to select from \(lqps\(rq output
.TP 
.I EXIWHAT_KILL_ARG
the argument for the \(lqkill\(rq command
.PP
An example of typical output from
.B exiwhat
is

.nf
  164 daemon: -q1h, listening on port 25
10483 running queue: waiting for 0tAycK-0002ij-00 (10492)
10492 delivering 0tAycK-0002ij-00 to mail.ref.example [10.19.42.42]
  (editor@ref.example)
10592 handling incoming call from [192.168.243.242]
10628 accepting a local non-SMTP message
.fi

The first number in the output line is the process number.
The third line has been split here, in order to fit it on the page.

.SH BUGS
This manual page needs a major re-work. If somebody knows better groff
than us and has more experience in writing manual pages, any patches
would be greatly appreciated.

.SH SEE ALSO
.BR exim (8)

.SH AUTHOR
This manual page was stitched together from spec.txt by
Andreas Metzler <ametzler at downhill.at.eu.org>,
for the Debian GNU/Linux system (but may be used by others).
